#ifndef COMMUNICATE_H
#define COMMUNICATE_H
#include <string>


//MCU相关定义
//MCU通讯采用QT方式还是Linux原生方式,定义了COMM_TYPE_IS_QT表示用QT方式,否则Linux原生方式
#define MCU_COMM_TYPE_IS_QT

//上位机相关定义
//是否有上位机,定义了PC_IS_ALIVE表示有上位机,否则没有
#define PC_IS_ALIVE
#ifdef PC_IS_ALIVE
//PC通讯采用QT方式还是Linux原生方式,PC_COMM_TYPE_IS_QT,否则Linux原生方式
#define PC_COMM_TYPE_IS_QT
//上位机通信采用串口还是网络,定义了PC_COMM_IS_SER表示用串口,否则网络
//#define PC_COMM_IS_SER
#endif//#ifdef PC_IS_ALIVE

//POD相关定义
//POD通讯采用QT方式还是Linux原生方式,定义了COMM_TYPE_IS_QT表示用QT方式,否则Linux原生方式
#define POD_COMM_TYPE_IS_QT
//吊舱是用的205还是613,定义了POD_IS_205表示用的205，否则613
//#define POD_IS_205


const std::string DEV_NAME_MCU = "/dev/ttymxc0";
const std::string DEV_NAME_PC = "/dev/ttymxc3";
const int NET_PORT_PC = 8888;
const std::string DEV_NAME_POD = "/dev/ttymxc2";

bool CommInitQt();
bool CommInitPosix();

#include <map>
#include "ProtocolBasePosix.h"
extern std::map<int, ProtocolBasePosix*> protocolMap;


#endif // COMMUNICATE_H
